EXTRACT
EXTRACT関数は、指定されたDateTimeフィールドの値を、DateTimeまたは時間隔の値の式からNUMBERデータ型として抽出して返します。この関数は、DateTimeフィールドの値を非常に大きな表で操作する場合に役立つことがあります。
TimesTen型モードを使用している場合、EXTRACT関数の詳細は、TimesTenの以前のリリースのドキュメントを参照してください。
SQL構文
EXTRACT (DateTimeField FROM IntervalExpression | DateTimeExpression)
DateTimeField | IntervalExpressionまたはDateTimeExpressionから抽出されるフィールドです。指定できるフィールドは、YEAR、MONTH、DAY、HOUR、MINUTEまたはSECONDです。 |
IntervalExpression | 時間隔の結果です。 |
DateTimeExpression | 日時の式です。たとえば、TIME、DATE、TIMESTAMPなどです。 |
説明
- DateTimeフィールドとDateTimeまたは時間隔値の式を組み合せた結果が、あいまいになる場合があります。この場合、TimesTenではUNKNOWNが返されます。
- 抽出するフィールドは、IntervalExpressionまたはDateTimeExpressionのフィールドである必要があります。たとえば、DATE値からは、YEAR、MONTHおよびDAYのみを抽出できます。同様に、TIME、DATEまたはTIMESTAMPデータ型からは、HOUR、MINUTEまたはSECONDのみを抽出できます。
- フィールドは、NUMBER値に抽出されます。
例3.24
次に、秒のフィールドを時間隔の結果sysdate-t1.createTime
から抽出する例を示します。
SELECT EXTRACT(SECOND FROM sysdate-t1.createTime) FROM t1;
例3.25
次に、秒のフィールドをシステム表DUALのsysdateから抽出する例を示します。
Command> select extract (second from sysdate) from dual;
< 20 >
1 row found.